<script>

	import checkTokenMethods from "@/utils/checkTokenUtil"
	
	import { LocalStorage } from '@/utils/storage';
	// 只能在App.vue里监听应用的生命周期
	export default {
		 
		onLaunch: function(options) {
			
			console.log('App Launch')
			console.log('应用启动路径：', options.path)
		},
		onShow: function(options) {
			
			
			
			console.log("测试globalData",this.globalData)
			// getApp().globalData.methods.autoLogin()
			console.log('App Show')
			console.log('应用启动路径：', options.path)
			
			
			
			
			// checkTokenMethods.autoLogin()
			// 首先监测是否登录,没有登录则会到登录页面,登录了会调用回调函数refreshToken进行token刷新
			checkTokenMethods.checkTokenFunc(this,checkTokenMethods.refreshToken,this)
			// checkTokenMethods.refreshToken(this)
			
			
			// // 添加与 websocket 的连接, websocket 的 URL 为ws://127.0.0.1:9999/admin/ws/info?access_token=xxxx
			// // 添加WebSocket连接逻辑
			//     const token = LocalStorage.getToken();
			//     if (token) {
			//       const wsUrl = `ws://127.0.0.1:9999/admin/ws/info?access_token=${token}`;
			// 	  console.log('wsUrl为：',wsUrl)
			      
			//       // 初始化WebSocket
			//       uni.connectSocket({
			//         url: wsUrl,
			//         success: () => {
			//           console.log('WebSocket连接成功');
			//         },
			//         fail: (err) => {
			//           console.error('WebSocket连接失败:', err);
			//         }
			//       });
			
			//       // 监听WebSocket消息
			//       uni.onSocketMessage((res) => {
			//         try {
			//           const message = JSON.parse(res.data);
			//           console.log('接收到WebSocket消息:', message);
			//           // 触发全局事件通知页面
			//           uni.$emit('websocket:message', message);
			//         } catch (error) {
			//           console.error('消息解析失败:', error);
			//         }
			//       });
			
			//       // 监听连接关闭
			//       uni.onSocketClose((res) => {
			//         console.log('WebSocket已关闭', res);
			//       });
			//     }
			// 1. 获取 Token
			    const token = LocalStorage.getToken();
			    if (!token) return;
			
			    // 2. 构造 WebSocket URL
			    const wsUrl = `ws://127.0.0.1:9999/admin/ws/info?access_token=${token}`;
			    console.log('WebSocket URL:', wsUrl);
			
			    // 3. 连接 WebSocket（使用 socketTask 对象）
			    this.socketTask = uni.connectSocket({
			      url: wsUrl,
			      success: () => console.log('WebSocket 正在连接...'),
			      fail: (err) => console.error('连接失败:', err)
			    });
			
			    // 4. 监听消息（关键修改！使用 socketTask 的方法）
			    this.socketTask.onMessage((res) => {
			      try {
			        const message = JSON.parse(res.data);
			        console.log('收到消息:', message);
			        uni.$emit('websocket:message', message); // 统一事件名
			      } catch (e) {
			        console.error('消息解析失败:', e);
			      }
			    });
		},
		
		onHide: function() {
			console.log('App Hide')
		},	
		
		
		globalData: {
			refreshLock: false,
			refreshTime: null,
		
		},
		
		
	}


</script>
<style>
	/*每个页面公共css */
	@import "colorui/main.css";
	@import "colorui/icon.css";
	
</style>
